/**
 * Copyright (c) 2023 murenchao
 * taomu is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *       http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package cool.taomu.box.dbutils

import java.sql.SQLException
import java.util.List
import java.util.Map

interface Callback {
	def void execute(DbUtils jdbc) throws SQLException;
}

interface IDbUtils extends AutoCloseable {
	def void transaction(Callback cl);
	def int update(String sql, Object ... args);
	def int[] batch(String sql, List<List<Object>> args);
	def <T> List<T> queryEntity(String sql, Class<T> zlass, Object ... args);
	def List<Map<String, Object>> queryMap(String sql, Object ... args);
}
